package wavebot;

import com.google.wave.api.*;

public class DudeWaveServlet extends AbstractRobotServlet {

	private static final long serialVersionUID = 1L;

	public void processEvents(RobotMessageBundle bundle) {
		Wavelet wavelet = bundle.getWavelet();

		if (bundle.wasSelfAdded()) {
			// cuando se añade el robot a la conversacion
			this.replyBlip(wavelet.appendBlip(), "I'M DUDE!!");
		}

		for (Event e : bundle.getEvents()) { // como es possible recibir mas de un evento simultaneamente, los tratamos todos
			switch (e.getType()) {
				case BLIP_SUBMITTED: // cuando se hace click en "done" al crear un nuevo blip.
					this.replyBlip(e.getBlip(), "DUDE!!");
					break;
					
				case WAVELET_PARTICIPANTS_CHANGED: // cuando entra o sale gente
					this.replyBlip(wavelet.appendBlip(), "HI NEW DUDE!!");
					break;
			}			
		}
	}

	/**
	 * añade una respuesta a un blip
	 * @param whereToPost
	 * @param text
	 */
	public void replyBlip(Blip whereToPost, String text) {
		Blip whereToPostChild = whereToPost.createChild();
		TextView textView = whereToPostChild.getDocument();
		textView.append(text);
	}
}